Ruby on Rails
#Ruby
#Rubyのライブラリ
参考文献
パーフェクト Ruby on Rails
基礎知識
前提となる知識はありますか?
Webを支える技術を読んでいないと意味不明かも
特にリソースという概念が重要
本
ツイート
ブログ記事
RESTの前にCURDの理解が必要
データベースのレイヤーにおけるリソース操作の基本概念
Create, Update, Read, Delete
データベースに入っているの
table:books
著者 発売日 タイトル 感想
author published_at title impression
山本 陽平 2010/4/8 Webを支える技術 必読です
それをHTMLで表示
code:books.html
<li>
<span>山本 陽平</span>
<span>2010/4/8</span>
<span>Webを支える技術</span>
<span>必読です術</span>
</li>
それをJSONで表示
code:books.json
[
{
"author": "山本 陽平",
"published_at": "2010/04/08",
"title": "Webを支える技術",
"impression": "必読です"
}
]
RESTによってCURDをHTTPに一対一で対応付けするという発明があった
Representational State Transfer
POST, GET, PUT≒PATCH, DELETEっていうのをHTTP上でやりとりするよ
Ruby on Railsって何
Webアプリケーションフレームワーク
Ruby以外にもいろいろある
例:Django, Laravel, Spring
Webアプリケーションって何?
Webというプラットフォーム上で動作するアプリケーション
やってること
HTMLやCSSやJavascriptを生成したりする
HTTPで通信したりする
jsonやらを生成することもある
例:Twitter, Scrapbox
≒Webサービス
フレームワークって何?
枠組みのこと
ある分野でなにかをするときのパターンがまとまっているもののこと
ビジネスフレームワーク、アイデア発想フレームワークなど
ソフトウェアエンジニアリングにおいてはソフトウェアフレームワークあるいはアプリケーションフレームワークのこと
特定の役割をするソフトウェアを開発するときに大雑把な枠組みを与えてくれる
Ruby on Railsって誰が作ったの
DHHという一人の天才(とその仲間たち)
https://ja.wikipedia.org/wiki/デイヴィッド・ハイネマイヤー・ハンソン
Rubyって誰が作ったの
まつもとゆきひろという一人の天才(とその仲間たち)
https://ja.wikipedia.org/wiki/まつもとゆきひろ
以降ではRuby on Railsだと長ったらしいのでRailsと略します
hogeとはメタ構文変数です
※Dockerを使ってRailsをインストール・セットアップする場合
以下のrails newまでの記述は一切無視して、このドキュメントを参考にするとよいです
https://docs.docker.com/compose/rails/
rails を docker-compose run web rails に置き換えて実行すれば動きます
Railsのインストールに必要なもの
ruby.hが必要
ubuntuの場合sudo apt install ruby-dev
macosの場合brew install ruby-build
zlib.hが必要
ubuntuの場合sudo apt install zlib1g-dev
gccコマンドが必要
ubuntuの場合sudo apt install gcc
macosの場合たぶんsudo xcode-select --reset
makeコマンドが必要
ubuntuの場合sudo apt install make
macosの場合たぶんsudo xcode-select --reset
RailsをUbuntuにインストール
code:bash
sudo apt install ruby
sudo apt install ruby-dev
sudo apt install zlib1g-dev
sudo apt install gcc
sudo apt install make
sudo gem install rails
RailsをMacOSにインストール
gemってなんですか?
$PATHはページを参照
.bash_profileはページを参照
xcodeってなんですか?
macOSはLinuxではないのでgccやmakeをAppleが用意している
code:bash
brew install ruby
brew link ruby
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> /User/username/.bash_profile
echo 'export PATH="/usr/local/lib/ruby/gems/2.7.0/bin/:$PATH"' >> /User/username/.bash_profile
brew install ruby-build
sudo xcodebuild -license
sudo xcode-select --reset
sudo gem install rails
Railsコマンドがセットアップできたら
code:bash
# ホームディレクトリに移動する
cd ~
# hogeという名前でrailsプロジェクトを生成する
rails new hoge
# hogeに入る
cd hoge
Scaffoldでリソースを作る
リソースってなんですか?
Webを支える技術を読んでください
ScaffoldでBookというリソースを作る
code:bash
rails generate scaffold Book author:string title:string impression:string published_at:datetime
rails db:migrate
Railsを起動する
code:bash
rails s
http://localhost:3000/books
Scaffoldで生成されたファイルを見てみる
code:bash
tree app/